function save() {
	/* 返回的是一个validate对象，这个对象有一个form方法，返回的是是否通过验证 */ 
	var validate = $('#form1').validate({
		rules : {
			name: {required:true, 
				remote: {
				    url: "/role/vName",     //后台处理程序
				    type: "post",               //数据发送方式
				    dataType: "json",           //接受数据格式   
				    data: {                     //要传递的数据
				        id: $("#entityId").val()
				    }
				},
				maxlength:15
			},
			description: {maxlength:30},
			enabled: {required:true}
		},
		messages: {
			name: {required:"必填字段!", remote: "角色已存在!",maxlength:"最多可以输入{0}个字符!"},
			description: {maxlength:"最多可以输入{0}个字符!"},
			enabled: {required:"必填字段!"}
		},
		highlight : function(element) {
// 				$(element).parent('td').find('label').before('<br>');
		},
		success : function(element) {
		}
	});
	$('#form1').submit();
}
$(function() {
	//返回按钮
	$('#btnBack').on({
		  click: function() {
			  $("#backForm").submit();
		  }
	});
})

$(document).ready(function() {
	var aPage = $("input[name=aPage]").val();
	var aRows = $("input[name=aRows]").val();
	var authTotal = $("#authTotal").val();
	$('ul#authPagination').page({
		"curPage": parseInt(aPage),
		"pageSize": parseInt(aRows),
		"totalCount": parseInt(authTotal),
		"init": true,
		"callback": function (page) {
			queryAuth(page);
		}
	});
	/*
	 $('ul#authPagination').page(parseInt($("input[name=aPage]").val()), parseInt($("input[name=aRows]").val()), parseInt($("#authTotal").val()), false, function(cp) {
		 queryAuth(cp);
	 });
	 */
	 
	 $('#queryAuth').on('click', function() {
		 $.ajax({
				type:'post',
				url:'/authorities/data',
				data:{
					page:1,
					rows:100,
					name:$('div#addAuth #name').val(),
					description:$('div#addAuth #description').val(),
					enabled:$('div#addAuth #enabled').val() 
				},
				success:function(data) {
					$('#authTable').empty();
					var rows = data.rows;
					for(var i = 0; i < rows.length; i++) {
						var p = rows[i];
						var tr = $('<tr/>');
						if (i%2 == 1) {
							tr = $('<tr bgcolor="#f2f2f2">');
						}
						$('<td align="center"/>').append('<input type="checkbox" value="'+ p.id +'"/>').append(i+1).appendTo(tr);
						$('<td/>').text($.trim(p.name)).appendTo(tr);
						$('<td/>').text($.trim(p.description)).appendTo(tr);
						if (p.enabled == 1) {
							$('<td/>').text('启用').appendTo(tr);
						} else {
							$('<td/>').text('禁用').appendTo(tr);
						}
						tr.appendTo($('#authTable'));
					}
				}
			});
	 });
	 
	//选择用户
	$("#authTable").on('click', 'tr', function(){
		var checkbox = $(this).children("td").children("input[type='checkbox']");
		checkbox.click();
	});
	
	$("#authTable").on('click', 'tr td input', function(event){
		//阻止冒泡事件
		event.stopPropagation();
	});
	
	//已经选择的用户
	$("#authListTable tr").on('click', function(){
		var checkbox = $(this).children("td").children("input[type='checkbox']");
		checkbox.click();
	});
	
	$("#authListTable tr td input").on('click', function(event){
		//阻止冒泡事件
		event.stopPropagation();
	});
	 
	 $('#resetAuth').on('click', function() {
		 $('div#addAuth input:text,select').val('');
	 });
	 
	//全选/反选按钮,已经存在的列表
	$('#checkAuthListAll').on(
		  'click',function() {
				if ($('#checkAuthListAll').is(':checked')) {
					 $("#authListTable").find("input[type='checkbox']:visible").each(function () {
						 //只对可见的操作
						$(this).prop("checked", "checked");
						
					});
				}else {
					 $("#authListTable").find("input[type='checkbox']:visible").each(function () {
						 //只对可见的操作
						$(this).removeAttr("checked");
					});
				}
		  }
	);
	
	//全选/反选按钮 查询列表
	$('#selectAuthListAll').on(
		  'click',function() {
				if ($('#selectAuthListAll').is(':checked')) {
					 $("#authTable").find("input[type='checkbox']:visible").each(function () {
						 //只对可见的操作
						$(this).prop("checked", "checked");
						
					});
				}else {
					 $("#authTable").find("input[type='checkbox']:visible").each(function () {
						 //只对可见的操作
						$(this).removeAttr("checked");
					});
				}
		  }
	);
	 
	 $('#batchSaveAuth').on('click', function() {
		 var checked = $('#authTable input:checkbox:checked');
			if (checked.length == 0) {
				alert('请选择权限!');
				return;
			}
			var ids = "";
			for(var i = 0; i < checked.length; i++) {
				ids += $(checked[i]).val() + ";";
			}
			
			$.ajax({
				type:'post',
				url:'/roleAuthoritiesRelation/saveBatchAuthForRole',
				data:{authIds:ids,roleId:$("#entityId").val()},
				success:function(data) {
					if (!data.success) {
						alert(data.reason);
					} else {
						$('#addAuth').modal('hide');
						$('#tabForm input[name=tab]').val('auths');
						$('#tabForm').submit();
					}
				}
			});
	 });
	 
	 $('#btnAuthRm').on('click', function() {
		var checked = $('#authListTable input:checkbox:checked');
		if (checked.length == 0) {
			alert('请选择是删除的权限!');
			return;
		}
		var ids = "";
		for(var i = 0; i < checked.length; i++) {
			ids += $(checked[i]).val() + ",";
		}
		$.ajax({
			type:'post',
			url:'/roleAuthoritiesRelation/deleteForRole',
			data:{authIds:ids,roleId:$("#entityId").val()},
			success:function(data) {
				if (!data.success) {
					alert(data.reason);
				} else {
					$('#tabForm input[name=tab]').val('auths');
					$('#tabForm').submit();
					}
				}
			});
		 });


	var uPage = $("input[name=uPage]").val();
	var uRows = $("input[name=uRows]").val();
	var userTotal = $("#userTotal").val();
	$('ul#userPagination').page({
		"curPage": parseInt(uPage),
		"pageSize": parseInt(uRows),
		"totalCount": parseInt(userTotal),
		"init": true,
		"callback": function (page) {
			queryUser(page);
		}
	});
	 /*
	 $('ul#userPagination').page(parseInt($("input[name=uPage]").val()), parseInt($("input[name=uRows]").val()), parseInt($("#userTotal").val()), false, function(cp) {
		 queryUser(cp);
	 });
	 */
	 
	 $('#queryUser').on('click', function() {
			$.ajax({
				type:'post',
				url:'/user/data',
				data:{
					page:1,
					rows:100,
					loginId:$('div#addUser #loginId').val(),
					userName:$('div#addUser #userName').val(),
					deptName:$('div#addUser #deptName').val(),
					enabled:$('div#addUser #enabled').val() 
				},
				success:function(data) {
					$('#userTable').empty();
					var rows = data.rows;
					for(var i = 0; i < rows.length; i++) {
						var p = rows[i];
						var tr = $('<tr/>');
						if (i%2 == 1) {
							tr = $('<tr bgcolor="#f2f2f2">');
						}
						$('<td align="center"/>').append('<input type="checkbox" value="'+ p.id +'"/>').append(i+1).appendTo(tr);
						$('<td/>').text(p.loginId).appendTo(tr);
						$('<td/>').text($.trim(p.userName)).appendTo(tr);
						$('<td/>').text($.trim(p.deptName)).appendTo(tr);
						if (p.enabled == 1) {
							$('<td/>').text('启用').appendTo(tr);
						} else {
							$('<td/>').text('禁用').appendTo(tr);
						}
						tr.appendTo($('#userTable'));
					}
				}
			});
		});
	 
		//选择用户
		$("#userTable").on('click', 'tr', function(){
			var checkbox = $(this).children("td").children("input[type='checkbox']");
			checkbox.click();
		});
		
		$("#userTable").on('click', 'tr td input', function(event){
			//阻止冒泡事件
			event.stopPropagation();
		});
		
		//已经选择的用户
		$("#userListTable tr").on('click', function(){
			var checkbox = $(this).children("td").children("input[type='checkbox']");
			checkbox.click();
		});
		
		$("#userListTable tr td input").on('click', function(event){
			//阻止冒泡事件
			event.stopPropagation();
		});
		

		//全选/反选按钮,已经存在的列表
		$('#checkUserListAll').on(
			  'click',function() {
					if ($('#checkUserListAll').is(':checked')) {
						 $("#userListTable").find("input[type='checkbox']:visible").each(function () {
							 //只对可见的操作
							$(this).prop("checked", "checked");
							
						});
					}else {
						 $("#userListTable").find("input[type='checkbox']:visible").each(function () {
							 //只对可见的操作
							$(this).removeAttr("checked");
						});
					}
			  }
		);

		//全选/反选按钮 查询列表
		$('#selectUserListAll').on(
			  'click',function() {
					if ($('#selectUserListAll').is(':checked')) {
						 $("#userTable").find("input[type='checkbox']:visible").each(function () {
							 //只对可见的操作
							$(this).prop("checked", "checked");
							
						});
					}else {
						 $("#userTable").find("input[type='checkbox']:visible").each(function () {
							 //只对可见的操作
							$(this).removeAttr("checked");
						});
					}
			  }
		);
	 
	 $('#resetUser').on('click', function() {
		 $('div#addUser input:text,select').val('');
		});
	 
	 $('#batchSave').on('click', function() {
		 var checked = $('#userTable input:checkbox:checked');
			if (checked.length == 0) {
				alert('请选择用户!');
				return;
			}
			var ids = "";
			for(var i = 0; i < checked.length; i++) {
				ids += $(checked[i]).val() + ";";
			}
		 	
			$.ajax({
    			type:'post',
    			url:'/userRoleRelation/saveBatchUserForRole',
    			data:{userIds:ids,roleId:$("#entityId").val()},
    			success:function(data) {
    				if (!data.success) {
    					alert(data.reason);
    				} else {
    					$('#addUser').modal('hide');
    					$('#tabForm input[name=tab]').val('users');
    					$('#tabForm').submit();
    				}
    			}
    		});
	});
	 
	 $('#batchSaveByLoginId').on('click', function() {
		 $.ajax({
			type:'post',
			url:'/userRoleRelation/saveBatchUser',
			data:{userLoginIds:$('#loginIds').val(),roleId:$("#entityId").val()},
			success:function(data) {
				if (!data.success) {
					alert(data.reason);
				} else {
					$('#batchAddUsers').modal('hide');
				$('#tabForm input[name=tab]').val('users');
				$('#tabForm').submit();
				}
			}
		});
	});
	 
	 $('#btnUserRm').on('click', function() {
		var checked = $('#userListTable input:checkbox:checked');
		if (checked.length == 0) {
			alert('请选择是删除的用户!');
			return;
		}
		var ids = "";
		for(var i = 0; i < checked.length; i++) {
			ids += $(checked[i]).val() + ",";
		}
		$.ajax({
  			type:'post',
  			url:'/userRoleRelation/deleteForRole',
  			data:{userIds:ids,roleId:$("#entityId").val()},
  			success:function(data) {
  				if (!data.success) {
  					alert(data.reason);
  				} else {
  					$('#tabForm input[name=tab]').val('users');
  					$('#tabForm').submit();
  				}
  			}
  		});
	});


	//用户组
	var ugPage = $("input[name=ugPage]").val();
	var ugRows = $("input[name=ugRows]").val();
	var userGroupTotal = $("#userGroupTotal").val();
	$('ul#userGroupPagination').page({
		"curPage": parseInt(ugPage),
		"pageSize": parseInt(ugRows),
		"totalCount": parseInt(userGroupTotal),
		"init": true,
		"callback": function (page) {
			queryUserGroup(page);
		}
	});
	/*
	$('ul#userGroupPagination').page(parseInt($("input[name=ugPage]").val()), parseInt($("input[name=ugRows]").val()), parseInt($("#userGroupTotal").val()), false, function(cp) {
		queryUserGroup(cp);
	});
	*/
	$('#queryUserGroup').on('click', function() {
		$.ajax({
			type:'post',
			url:'/userGroup/data',
			data:{
				page:1,
				rows:100,
				name:$('div#addUserGroup #name').val(),
				description:$('div#addUserGroup #description').val()
			},
			success:function(data) {
				$('#userGroupTable').empty();
				var rows = data.rows;
				for(var i = 0; i < rows.length; i++) {
					var p = rows[i];
					var tr = $('<tr/>');
					if (i%2 == 1) {
						tr = $('<tr bgcolor="#f2f2f2">');
					}
					$('<td align="center"/>').append('<input type="checkbox" value="'+ p.id +'"/>').append(i+1).appendTo(tr);
					$('<td/>').text(p.name).appendTo(tr);
					$('<td/>').text($.trim(p.description)).appendTo(tr);
					if (p.enabled == 1) {
						$('<td/>').text('启用').appendTo(tr);
					} else {
						$('<td/>').text('禁用').appendTo(tr);
					}
					tr.appendTo($('#userGroupTable'));
				}
			}
		});
	});

	//选择用户组
	$("#userGroupTable").on('click', 'tr', function(){
		var checkbox = $(this).children("td").children("input[type='checkbox']");
		checkbox.click();
	});

	$("#userGroupTable").on('click', 'tr td input', function(event){
		//阻止冒泡事件
		event.stopPropagation();
	});

	//已经选择的角色
	$("#userGroupListTable tr").on('click', function(){
		var checkbox = $(this).children("td").children("input[type='checkbox']");
		checkbox.click();
	});

	$("#userGroupListTable tr td input").on('click', function(event){
		//阻止冒泡事件
		event.stopPropagation();
	});

	//全选/反选按钮 查询列表
	$('#selectUserGroupListAll').on(
		'click',function() {
			if ($('#selectUserGroupListAll').is(':checked')) {
				$("#userGroupTable").find("input[type='checkbox']:visible").each(function () {
					//只对可见的操作
					$(this).prop("checked", "checked");

				});
			}else {
				$("#userGroupTable").find("input[type='checkbox']:visible").each(function () {
					//只对可见的操作
					$(this).removeAttr("checked");
				});
			}
		}
	);

	//全选/反选按钮,已经存在的列表
	$('#checkUserGroupListAll').on(
		'click',function() {
			if ($('#checkUserGroupListAll').is(':checked')) {
				$("#userGroupListTable").find("input[type='checkbox']:visible").each(function () {
					//只对可见的操作
					$(this).prop("checked", "checked");

				});
			}else {
				$("#userGroupListTable").find("input[type='checkbox']:visible").each(function () {
					//只对可见的操作
					$(this).removeAttr("checked");
				});
			}
		}
	);


	$('#resetUserGroup').on('click', function() {
		$('div#addUserGroup input:text').val('');
	});


	$('#batchSaveUserGroup').on('click', function() {
		var checked = $('#userGroupTable input:checkbox:checked');
		if (checked.length == 0) {
			alert('请选择用户组!');
			return;
		}
		var ids = "";
		for(var i = 0; i < checked.length; i++) {
			ids += $(checked[i]).val() + ";";
		}

		//添加用户组
		$.ajax({
			type : 'post',
			url : '/userGroup/addForRole',
			data : {
				roleId : $("#entityId").val(),
				userGroupIds : ids
			},
			success : function(data) {
				if (!data.success) {
					alert(data.reason);
				} else {
					$('#addPl').modal('hide');
					$('#tabForm input[name=tab]').val('userGroup');
					$('#tabForm').submit();
				}
			}
		});
	});

	$('#btnUserGroupRm').on('click', function() {
		var checked = $('#userGroupListTable input:checkbox:checked');
		if (checked.length == 0) {
			alert('请选择用户组!');
			return;
		}
		var ids = "";
		for(var i = 0; i < checked.length; i++) {
			ids += $(checked[i]).val() + ",";
		}
		$.ajax({
			type:'post',
			url:'/userGroup/deleteForRole',
			data:{roleId:$("#entityId").val(),userGroupIds:ids},
			success:function(data) {
				if (!data.success) {
					alert(data.reason);
				} else {
					$('#tabForm input[name=tab]').val('userGroup');
					$('#tabForm').submit();
				}
			}
		});
	});
	 
});

function queryAuth(cp) {
	$('#tabForm input:hidden[name=tab]').val('auths');
	$('#tabForm input:hidden[name=aPage]').val(cp);
	$('#tabForm input:hidden[name=aRows]').val(10);
	$('#tabForm').submit();
}

function queryUser(cp) {
	$('#tabForm input:hidden[name=tab]').val('users');
	$('#tabForm input:hidden[name=uPage]').val(cp);
	$('#tabForm input:hidden[name=uRows]').val(10);
	$('#tabForm').submit();
}

function queryUserGroup(cp) {
	$('#tabForm input:hidden[name=tab]').val('userGroup');
	$('#tabForm input:hidden[name=ugPage]').val(cp);
	$('#tabForm input:hidden[name=ugRows]').val(10);
	$('#tabForm').submit();
}